Skip to content

feature: additional validation and help messaging for shipthis game details and shipthis game create - #249

Merged
madebydavid merged 5 commits into
mainfrom
245-feature-game-details-validation
Aug 27, 2026
Merged

feature: additional validation and help messaging for shipthis game details and shipthis game create#249
madebydavid merged 5 commits into
mainfrom
245-feature-game-details-validation

Conversation

@madebydavid

@madebydavid madebydavid commented Aug 27, 2026

Copy link
Copy Markdown
Member

This is to resolve #245

What's changed

@madebydavid

madebydavid commented Aug 27, 2026

Copy link
Copy Markdown
Member Author

Performing some testing

gameEngineVersion

david@sal9000:~/game$ shipthis game details --gameEngineVersion 2.3
 ›   Error: "2.3" is not a Godot version that ShipThis builds.
 ›   Supported versions: 3.6, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7. You can also pin a patch, such as 4.2.1.
 ›   Reference: https://shipth.is/docs/guides/godot-versioning
david@sal9000:~/game$ shipthis game ship --platform ios --gameEngineVersion 4.9
 ›   Error: "4.9" is not a Godot version that ShipThis builds.
 ›   Supported versions: 3.6, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7. You can also pin a patch, such as 4.2.1.
 ›   Reference: https://shipth.is/docs/guides/godot-versioning
david@sal9000:~/game$ 

@madebydavid madebydavid changed the title Adding validation to GameDetails objects feature: additional validation and help messaging for GameDetails Aug 27, 2026
@madebydavid

Copy link
Copy Markdown
Member Author

I don't like having a fixed list for the versions in the client - that will force people to upgrade to get the new version whereas the loose validation before meant they did not have to

@madebydavid

Copy link
Copy Markdown
Member Author

The answer is to expose the supported versions on the API. Implementing a straightforward version of that now with a fallback to a constant

@madebydavid
madebydavid requested a balanced review from Copilot August 27, 2026 15:12
@madebydavid
madebydavid marked this pull request as ready for review August 27, 2026 15:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds contextual validation for game details across create, details, and ship workflows.

Changes:

  • Adds field validators, warnings, and tests.
  • Fetches supported Godot versions with a built-in fallback.
  • Updates command flags, errors, and documentation.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
test/utils/validation.test.ts Tests validation rules and warnings.
src/utils/validation.ts Implements game-detail validation.
src/utils/index.ts Exports validation utilities.
src/constants/index.ts Adds constrained detail flags.
src/constants/godot.ts Defines fallback Godot versions.
src/commands/game/ship.tsx Validates version overrides.
src/commands/game/details.tsx Validates detail updates.
src/commands/game/create.ts Validates project creation inputs.
src/api/index.ts Fetches supported Godot versions.
docs/game/ship.md Documents ship validation.
docs/game/details.md Documents validation rules.
docs/game/create.md Documents create validation.
Suppressed comments (1)

src/commands/game/create.ts:68

  • The detected-version warning also bypasses --quiet, despite the flag promising to suppress non-error output. Include !quiet in this condition.
    if (!details.gameEngineVersion && !isSupportedGodotVersion(detectedVersion, godotVersions)) {

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/utils/validation.ts
Comment thread src/constants/index.ts Outdated
Comment thread src/commands/game/create.ts Outdated
Comment thread src/commands/game/details.tsx Outdated
Comment thread src/api/index.ts
Comment thread src/utils/validation.ts
@madebydavid

Copy link
Copy Markdown
Member Author

@copilot - updated that to address the outstanding ones - can you review the changes?

Copilot AI commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

@copilot - updated that to address the outstanding ones - can you review the changes?

I reviewed the latest updates in commit 8756060. The remaining review points are addressed (comment wording fixed and CLI flag parsing now trims values before validation/submission), and test/utils/validation.test.ts passes locally. I don’t see additional changes needed from my side.

@madebydavid madebydavid changed the title feature: additional validation and help messaging for GameDetails feature: additional validation and help messaging for shipthis game details and shipthis game create Aug 27, 2026
@madebydavid

Copy link
Copy Markdown
Member Author

Prod API is deployed to https://api.shipth.is/api/1.0.0/godot/versions

I will merge

@madebydavid
madebydavid merged commit bbb3141 into main Aug 27, 2026
1 check passed
@madebydavid
madebydavid deleted the 245-feature-game-details-validation branch August 27, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feature: more validation on the gameDetails via shipthis game details and those which can be set via flags on the shipthis game ship command

3 participants